[INFO] cloning repository https://github.com/mcastorina/burn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mcastorina/burn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmcastorina%2Fburn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmcastorina%2Fburn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4a7a6527c9015b5fc936fa0e63da4e6f7f5f2d63
[INFO] fixing mcastorina/burn against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmcastorina%2Fburn" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mcastorina/burn
[INFO] finished tweaking git repo https://github.com/mcastorina/burn
[INFO] tweaked toml for git repo https://github.com/mcastorina/burn written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mcastorina/burn on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mcastorina/burn already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7
[INFO] running `Command { std: "docker" "start" "359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling proc-macro2 v1.0.28
[INFO] [stderr]    Compiling syn v1.0.75
[INFO] [stderr]    Compiling beef v0.5.1
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling logos-derive v0.12.0
[INFO] [stderr]     Checking logos v0.12.0
[INFO] [stderr]     Checking burn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/parser.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/checker.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.04s
[INFO] [stderr] crater-edition-check: burn v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking burn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/checker/mod.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn check_block(&mut self, block: &Vec<ast::Stmt>) {}
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fn_names` is never read
[INFO] [stdout]   --> src/checker/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Checker<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 17 |     items: &'a Vec<ast::Item>,
[INFO] [stdout] 18 |     fn_names: HashMap<String, FnInfo>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_params` and `output_params` are never read
[INFO] [stdout]   --> src/checker/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct FnInfo {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 22 |     input_params: Vec<ast::Type>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 23 |     output_params: Vec<ast::Type>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/checker/mod.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn check_block(&mut self, block: &Vec<ast::Stmt>) {}
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fn_names` is never read
[INFO] [stdout]   --> src/checker/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Checker<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 17 |     items: &'a Vec<ast::Item>,
[INFO] [stdout] 18 |     fn_names: HashMap<String, FnInfo>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_params` and `output_params` are never read
[INFO] [stdout]   --> src/checker/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct FnInfo {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 22 |     input_params: Vec<ast::Type>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 23 |     output_params: Vec<ast::Type>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.67s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking burn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `burn`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs
[INFO] [stderr]  ::: /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/macros/mod.rs
[INFO] [stderr]  ::: src/lexer/tokens.rs
[INFO] [stderr]  ::: src/lib.rs
[INFO] [stderr]  ::: src/parser/ast.rs
[INFO] [stderr]  ::: src/parser/expressions.rs
[INFO] [stderr]  ::: src/parser/hierarchy.rs
[INFO] [stderr]  ::: src/parser/mod.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/lexer/tokens.rs:3:34
[INFO] [stderr]              |
[INFO] [stderr]            3 | #[derive(Debug, PartialEq, Logos + use<'s>, Copy, Clone)]
[INFO] [stderr]              |                                  ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:114:7
[INFO] [stderr]                |
[INFO] [stderr]            114 |     #[token("while")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("true")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("return")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:108:7
[INFO] [stderr]                |
[INFO] [stderr]            108 |     #[token("none")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("in")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:104:7
[INFO] [stderr]                |
[INFO] [stderr]            104 |     #[token("if")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:102:7
[INFO] [stderr]                |
[INFO] [stderr]            102 |     #[token("fn")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:100:7
[INFO] [stderr]                |
[INFO] [stderr]            100 |     #[token("for")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token("false")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("else")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:94:7
[INFO] [stderr]               |
[INFO] [stderr]            94 |     #[token("continue")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("break")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:90:7
[INFO] [stderr]               |
[INFO] [stderr]            90 |     #[token(".")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[regex("//[^\n]*", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("<=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[token(">=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:80:7
[INFO] [stderr]               |
[INFO] [stderr]            80 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:78:7
[INFO] [stderr]               |
[INFO] [stderr]            78 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:62:7
[INFO] [stderr]               |
[INFO] [stderr]            62 |     #[token(":=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token("&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:56:7
[INFO] [stderr]               |
[INFO] [stderr]            56 |     #[token("->")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token("::")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:50:7
[INFO] [stderr]               |
[INFO] [stderr]            50 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:48:7
[INFO] [stderr]               |
[INFO] [stderr]            48 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:44:7
[INFO] [stderr]               |
[INFO] [stderr]            44 |     #[token("~")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:42:7
[INFO] [stderr]               |
[INFO] [stderr]            42 |     #[token("!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("||")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:38:7
[INFO] [stderr]               |
[INFO] [stderr]            38 |     #[token("&&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("--")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("++")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:32:7
[INFO] [stderr]               |
[INFO] [stderr]            32 |     #[token("|")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:30:7
[INFO] [stderr]               |
[INFO] [stderr]            30 |     #[token("^")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:28:7
[INFO] [stderr]               |
[INFO] [stderr]            28 |     #[token("%")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:26:7
[INFO] [stderr]               |
[INFO] [stderr]            26 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:24:7
[INFO] [stderr]               |
[INFO] [stderr]            24 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:22:7
[INFO] [stderr]               |
[INFO] [stderr]            22 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[token("+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:18:7
[INFO] [stderr]               |
[INFO] [stderr]            18 |     #[token("_")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:16:7
[INFO] [stderr]               |
[INFO] [stderr]            16 |     #[regex(r#"`([^\\]|\.)`"#)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:14:7
[INFO] [stderr]               |
[INFO] [stderr]            14 |     #[regex(r#""([^"]|\.)*"|'([^']|\.)*'"#)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:12:7
[INFO] [stderr]               |
[INFO] [stderr]            12 |     #[regex("[0-9_]+", |lex| lex.slice().replace('_', "").parse())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:10:7
[INFO] [stderr]               |
[INFO] [stderr]            10 |     #[regex("[a-zA-Z][a-zA-Z0-9_]*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]             --> src/lexer/tokens.rs:5:7
[INFO] [stderr]              |
[INFO] [stderr]            5 |     #[regex(r"[ \t\n\f]+", logos::skip)]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            4 + #[derive(Logos)]
[INFO] [stderr]            5 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]             --> src/lexer/tokens.rs:7:7
[INFO] [stderr]              |
[INFO] [stderr]            7 |     #[error]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            4 + #[derive(Logos)]
[INFO] [stderr]            5 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/parser/mod.rs:63:14
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<'input> Parser<'input, SpannedIter<'input, Token>> {
[INFO] [stderr]                |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `SpannedIter`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:40
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^^ required by this bound in `SpannedIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/parser/mod.rs:64:39
[INFO] [stderr]                |
[INFO] [stderr]             64 |     pub fn new(input: &'input str) -> Self {
[INFO] [stderr]                |                                       ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `SpannedIter`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:40
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^^ required by this bound in `SpannedIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/ast.rs:12:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            12 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/ast.rs:16:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            16 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/ast.rs:21:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            21 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]              --> src/parser/ast.rs:12:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            12 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Clone)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]              --> src/parser/ast.rs:16:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            16 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/parser/expressions.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   ref mut args,
[INFO] [stdout]     |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/parser/expressions.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |                           if let Expr::FnCall {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 142 | |                             fn_name: _,
[INFO] [stdout] 143 | |                             ref mut args,
[INFO] [stdout] 144 | |                         } = expr
[INFO] [stdout]     | |_________________________^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -                             ref mut args,
[INFO] [stdout] 143 +                             args,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, usize, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/tokens.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Logos, Copy, Clone)]
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/tokens.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Logos, Copy, Clone)]
[INFO] [stdout]   |                            ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Logos + use<'s>, Copy, Clone)]
[INFO] [stdout]   |                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Clone)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]              --> src/parser/ast.rs:21:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            21 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Clone)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]              --> src/parser/ast.rs:12:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            12 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]              --> src/parser/ast.rs:16:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            16 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]              --> src/parser/ast.rs:21:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            21 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/expressions.rs:101:23
[INFO] [stderr]                |
[INFO] [stderr]            101 |                 if op != T![->] || matches!(rhs, Expr::Ident(_)) {
[INFO] [stderr]                |                    -- ^^
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:211:15
[INFO] [stderr]                |
[INFO] [stderr]            211 |     [->] => { $crate::lexer::Token::RightArrow };
[INFO] [stderr]                |               -------------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/expressions.rs:133:36
[INFO] [stderr]                |
[INFO] [stderr]            133 | ...                   if *op != T![.] && *op != T![::] {
[INFO] [stderr]                |                          --- ^^
[INFO] [stderr]                |                          |
[INFO] [stderr]                |                          Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:228:14
[INFO] [stderr]                |
[INFO] [stderr]            228 |     [.] => { $crate::lexer::Token::Dot };
[INFO] [stderr]                |              ------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/expressions.rs:133:52
[INFO] [stderr]                |
[INFO] [stderr]            133 | ...                   if *op != T![.] && *op != T![::] {
[INFO] [stderr]                |                                          --- ^^
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:210:15
[INFO] [stderr]                |
[INFO] [stderr]            210 |     [::] => { $crate::lexer::Token::DoubleColon };
[INFO] [stderr]                |               --------------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/expressions.rs:166:61
[INFO] [stderr]                |
[INFO] [stderr]            166 |             tok => panic!("Unexpected literal token: {:?}", tok),
[INFO] [stderr]                |                                                      ----   ^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                      |
[INFO] [stderr]                |                                                      required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/expressions.rs:216:64
[INFO] [stderr]                |
[INFO] [stderr]            216 |             _ => unreachable!("Not a prefix operator: `{:?}`", self),
[INFO] [stderr]                |                                                        ----    ^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                        |
[INFO] [stderr]                |                                                        required by a formatting parameter in this expression
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:36:43
[INFO] [stderr]                |
[INFO] [stderr]             36 |                         while self.peek() == T![,] {
[INFO] [stderr]                |                               ----------- ^^
[INFO] [stderr]                |                               |
[INFO] [stderr]                |                               Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:207:14
[INFO] [stderr]                |
[INFO] [stderr]            207 |     [,] => { $crate::lexer::Token::Comma };
[INFO] [stderr]                |              --------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]              --> src/parser/hierarchy.rs:41:29
[INFO] [stderr]               |
[INFO] [stderr]            41 | / ...                   assert_eq!(
[INFO] [stderr]            42 | | ...                       tok_type,
[INFO] [stderr]            43 | | ...                       Token::Ident,
[INFO] [stderr]            44 | | ...                       "Expected an identifier, but found {}",
[INFO] [stderr]            45 | | ...                       tok_type
[INFO] [stderr]            46 | | ...                   );
[INFO] [stderr]               | |                       ^
[INFO] [stderr]               | |                       |
[INFO] [stderr]               | |_______________________Token
[INFO] [stderr]               |                         Token
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/hierarchy.rs:41:29
[INFO] [stderr]               |
[INFO] [stderr]            41 | / ...                   assert_eq!(
[INFO] [stderr]            42 | | ...                       tok_type,
[INFO] [stderr]            43 | | ...                       Token::Ident,
[INFO] [stderr]            44 | | ...                       "Expected an identifier, but found {}",
[INFO] [stderr]            45 | | ...                       tok_type
[INFO] [stderr]            46 | | ...                   );
[INFO] [stderr]               | |_______________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/hierarchy.rs:41:29
[INFO] [stderr]               |
[INFO] [stderr]            41 | / ...                   assert_eq!(
[INFO] [stderr]            42 | | ...                       tok_type,
[INFO] [stderr]            43 | | ...                       Token::Ident,
[INFO] [stderr]            44 | | ...                       "Expected an identifier, but found {}",
[INFO] [stderr]            45 | | ...                       tok_type
[INFO] [stderr]            46 | | ...                   );
[INFO] [stderr]               | |_______________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:137:17
[INFO] [stderr]                |
[INFO] [stderr]            137 | /                 assert_eq!(
[INFO] [stderr]            138 | |                     ident_tok,
[INFO] [stderr]            139 | |                     T![ident],
[INFO] [stderr]            140 | |                     "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            141 | |                     ident_tok
[INFO] [stderr]            142 | |                 );
[INFO] [stderr]                | |                 ^
[INFO] [stderr]                | |                 |
[INFO] [stderr]                | |_________________Token
[INFO] [stderr]                |                   Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:137:17
[INFO] [stderr]                |
[INFO] [stderr]            137 | /                 assert_eq!(
[INFO] [stderr]            138 | |                     ident_tok,
[INFO] [stderr]            139 | |                     T![ident],
[INFO] [stderr]            140 | |                     "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            141 | |                     ident_tok
[INFO] [stderr]            142 | |                 );
[INFO] [stderr]                | |_________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:137:17
[INFO] [stderr]                |
[INFO] [stderr]            137 | /                 assert_eq!(
[INFO] [stderr]            138 | |                     ident_tok,
[INFO] [stderr]            139 | |                     T![ident],
[INFO] [stderr]            140 | |                     "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            141 | |                     ident_tok
[INFO] [stderr]            142 | |                 );
[INFO] [stderr]                | |_________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:168:9
[INFO] [stderr]                |
[INFO] [stderr]            168 | /         assert_eq!(
[INFO] [stderr]            169 | |             ident,
[INFO] [stderr]            170 | |             T![ident],
[INFO] [stderr]            171 | |             "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            172 | |             ident
[INFO] [stderr]            173 | |         );
[INFO] [stderr]                | |         ^
[INFO] [stderr]                | |         |
[INFO] [stderr]                | |_________Token
[INFO] [stderr]                |           Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:168:9
[INFO] [stderr]                |
[INFO] [stderr]            168 | /         assert_eq!(
[INFO] [stderr]            169 | |             ident,
[INFO] [stderr]            170 | |             T![ident],
[INFO] [stderr]            171 | |             "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            172 | |             ident
[INFO] [stderr]            173 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:168:9
[INFO] [stderr]                |
[INFO] [stderr]            168 | /         assert_eq!(
[INFO] [stderr]            169 | |             ident,
[INFO] [stderr]            170 | |             T![ident],
[INFO] [stderr]            171 | |             "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            172 | |             ident
[INFO] [stderr]            173 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:201:9
[INFO] [stderr]                |
[INFO] [stderr]            201 | /         assert_eq!(
[INFO] [stderr]            202 | |             ident,
[INFO] [stderr]            203 | |             T![ident],
[INFO] [stderr]            204 | |             "Expected identifier as function name, but found `{}`",
[INFO] [stderr]            205 | |             ident
[INFO] [stderr]            206 | |         );
[INFO] [stderr]                | |         ^
[INFO] [stderr]                | |         |
[INFO] [stderr]                | |_________Token
[INFO] [stderr]                |           Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:201:9
[INFO] [stderr]                |
[INFO] [stderr]            201 | /         assert_eq!(
[INFO] [stderr]            202 | |             ident,
[INFO] [stderr]            203 | |             T![ident],
[INFO] [stderr]            204 | |             "Expected identifier as function name, but found `{}`",
[INFO] [stderr]            205 | |             ident
[INFO] [stderr]            206 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:201:9
[INFO] [stderr]                |
[INFO] [stderr]            201 | /         assert_eq!(
[INFO] [stderr]            202 | |             ident,
[INFO] [stderr]            203 | |             T![ident],
[INFO] [stderr]            204 | |             "Expected identifier as function name, but found `{}`",
[INFO] [stderr]            205 | |             ident
[INFO] [stderr]            206 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:239:13
[INFO] [stderr]                |
[INFO] [stderr]            239 | /             assert_eq!(
[INFO] [stderr]            240 | |                 param,
[INFO] [stderr]            241 | |                 T![ident],
[INFO] [stderr]            242 | |                 "Expected identifier as parameter, but found `{}`",
[INFO] [stderr]            243 | |                 param
[INFO] [stderr]            244 | |             );
[INFO] [stderr]                | |             ^
[INFO] [stderr]                | |             |
[INFO] [stderr]                | |_____________Token
[INFO] [stderr]                |               Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:239:13
[INFO] [stderr]                |
[INFO] [stderr]            239 | /             assert_eq!(
[INFO] [stderr]            240 | |                 param,
[INFO] [stderr]            241 | |                 T![ident],
[INFO] [stderr]            242 | |                 "Expected identifier as parameter, but found `{}`",
[INFO] [stderr]            243 | |                 param
[INFO] [stderr]            244 | |             );
[INFO] [stderr]                | |_____________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:239:13
[INFO] [stderr]                |
[INFO] [stderr]            239 | /             assert_eq!(
[INFO] [stderr]            240 | |                 param,
[INFO] [stderr]            241 | |                 T![ident],
[INFO] [stderr]            242 | |                 "Expected identifier as parameter, but found `{}`",
[INFO] [stderr]            243 | |                 param
[INFO] [stderr]            244 | |             );
[INFO] [stderr]                | |_____________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]              --> src/parser/mod.rs:33:21
[INFO] [stderr]               |
[INFO] [stderr]            33 |         self.peek() == kind
[INFO] [stderr]               |         ----------- ^^ ---- Token
[INFO] [stderr]               |         |
[INFO] [stderr]               |         Token
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]              --> src/parser/mod.rs:49:9
[INFO] [stderr]               |
[INFO] [stderr]            49 | /         assert_eq!(
[INFO] [stderr]            50 | |             token, expected,
[INFO] [stderr]            51 | |             "Expected to consume `{}`, but found `{}`",
[INFO] [stderr]            52 | |             expected, token
[INFO] [stderr]            53 | |         );
[INFO] [stderr]               | |         ^
[INFO] [stderr]               | |         |
[INFO] [stderr]               | |_________Token
[INFO] [stderr]               |           Token
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/mod.rs:49:9
[INFO] [stderr]               |
[INFO] [stderr]            49 | /         assert_eq!(
[INFO] [stderr]            50 | |             token, expected,
[INFO] [stderr]            51 | |             "Expected to consume `{}`, but found `{}`",
[INFO] [stderr]            52 | |             expected, token
[INFO] [stderr]            53 | |         );
[INFO] [stderr]               | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/mod.rs:49:9
[INFO] [stderr]               |
[INFO] [stderr]            49 | /         assert_eq!(
[INFO] [stderr]            50 | |             token, expected,
[INFO] [stderr]            51 | |             "Expected to consume `{}`, but found `{}`",
[INFO] [stderr]            52 | |             expected, token
[INFO] [stderr]            53 | |         );
[INFO] [stderr]               | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/mod.rs:57:58
[INFO] [stderr]               |
[INFO] [stderr]            57 |             panic!("Cannot push; reserve is full: {:?}", self.reserve);
[INFO] [stderr]               |                                                   ----   ^^^^^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]               |                                                   |
[INFO] [stderr]               |                                                   required by this formatting parameter
[INFO] [stderr]               |
[INFO] [stderr]               = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]            help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]               = note: required for `(Token, &str)` to implement `Debug`
[INFO] [stderr]               = note: 1 redundant requirement hidden
[INFO] [stderr]               = note: required for `Option<(Token, &str)>` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied in `SpannedIter<'input, Token>`
[INFO] [stderr]               --> src/parser/mod.rs:65:9
[INFO] [stderr]                |
[INFO] [stderr]             65 |         Self {
[INFO] [stderr]                |         ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `SpannedIter<'input, Token>`, the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `SpannedIter<'input, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:12
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]            note: required by an implicit `Sized` bound in `Parser`
[INFO] [stderr]               --> src/parser/mod.rs:9:27
[INFO] [stderr]                |
[INFO] [stderr]              9 | pub struct Parser<'input, I>
[INFO] [stderr]                |                           ^ required by the implicit `Sized` requirement on this type parameter in `Parser`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]              --> src/parser/mod.rs:67:28
[INFO] [stderr]               |
[INFO] [stderr]            67 |             tokens: Token::lexer(input).spanned().peekable(),
[INFO] [stderr]               |                            ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `SpannedIter<'_, Token>`
[INFO] [stderr]               --> src/lib.rs:8:22
[INFO] [stderr]                |
[INFO] [stderr]              8 |     let mut parser = parser::Parser::new(program);
[INFO] [stderr]                |                      ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `SpannedIter<'_, Token>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `SpannedIter<'_, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:12
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]            note: required by an implicit `Sized` bound in `Parser`
[INFO] [stderr]               --> src/parser/mod.rs:9:27
[INFO] [stderr]                |
[INFO] [stderr]              9 | pub struct Parser<'input, I>
[INFO] [stderr]                |                           ^ required by the implicit `Sized` requirement on this type parameter in `Parser`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:8:22
[INFO] [stderr]                |
[INFO] [stderr]              8 |     let mut parser = parser::Parser::new(program);
[INFO] [stderr]                |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `SpannedIter`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:40
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^^ required by this bound in `SpannedIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `file` exists for struct `Parser<'_, SpannedIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lib.rs:9:24
[INFO] [stderr]                |
[INFO] [stderr]              9 |     let items = parser.file();
[INFO] [stderr]                |                        ^^^^ method cannot be called on `Parser<'_, SpannedIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:1
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------------ doesn't satisfy `<_ as Iterator>::Item = (Token, Range<usize>)`, `SpannedIter<'_, Token>: Iterator` or `SpannedIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/parser/mod.rs:9:1
[INFO] [stderr]                |
[INFO] [stderr]              9 | pub struct Parser<'input, I>
[INFO] [stderr]                | ---------------------------- method `file` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `<SpannedIter<'_, Token> as Iterator>::Item = (Token, std::ops::Range<usize>)`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `SpannedIter<'_, Token>: Iterator`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `SpannedIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0507]: cannot move out of `*token` which is behind a shared reference
[INFO] [stderr]              --> src/parser/mod.rs:28:35
[INFO] [stderr]               |
[INFO] [stderr]            28 |                 .map(|(token, _)| *token)
[INFO] [stderr]               |                                   ^^^^^^ move occurs because `*token` has type `Token`, which does not implement the `Copy` trait
[INFO] [stderr]               |
[INFO] [stderr]            note: if `Token` implemented `Clone`, you could clone the value
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/parser/mod.rs:28:35
[INFO] [stderr]               |
[INFO] [stderr]            28 |                 .map(|(token, _)| *token)
[INFO] [stderr]               |                                   ------ you could clone this value
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0507]: cannot move out of `self.reserve.0` as enum variant `Some` which is behind a mutable reference
[INFO] [stderr]              --> src/parser/mod.rs:23:15
[INFO] [stderr]               |
[INFO] [stderr]            23 |         match self.reserve {
[INFO] [stderr]               |               ^^^^^^^^^^^^
[INFO] [stderr]            24 |             Some((tok, _)) => tok,
[INFO] [stderr]               |                   --- data moved here because `tok` has type `Token`, which does not implement the `Copy` trait
[INFO] [stderr]               |
[INFO] [stderr]            help: consider borrowing the pattern binding
[INFO] [stderr]               |
[INFO] [stderr]            24 |             Some((ref tok, _)) => tok,
[INFO] [stderr]               |                   +++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0507]: cannot move out of `self.reserve` as enum variant `Some` which is behind a mutable reference
[INFO] [stderr]              --> src/parser/mod.rs:36:15
[INFO] [stderr]               |
[INFO] [stderr]            36 |         match self.reserve {
[INFO] [stderr]               |               ^^^^^^^^^^^^
[INFO] [stderr]            37 |             Some(data) => {
[INFO] [stderr]               |                  ---- data moved here because `data` has type `(Token, &str)`, which does not implement the `Copy` trait
[INFO] [stderr]               |
[INFO] [stderr]            help: consider borrowing the pattern binding
[INFO] [stderr]               |
[INFO] [stderr]            37 |             Some(ref data) => {
[INFO] [stderr]               |                  +++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 101 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0507, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `burn`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs
[INFO] [stderr]  ::: /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/macros/mod.rs
[INFO] [stderr]  ::: src/lexer/tokens.rs
[INFO] [stderr]  ::: src/lib.rs
[INFO] [stderr]  ::: src/parser/ast.rs
[INFO] [stderr]  ::: src/parser/expressions.rs
[INFO] [stderr]  ::: src/parser/hierarchy.rs
[INFO] [stderr]  ::: src/parser/mod.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/lexer/tokens.rs:3:34
[INFO] [stderr]              |
[INFO] [stderr]            3 | #[derive(Debug, PartialEq, Logos + use<'s>, Copy, Clone)]
[INFO] [stderr]              |                                  ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:114:7
[INFO] [stderr]                |
[INFO] [stderr]            114 |     #[token("while")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("true")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("return")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:108:7
[INFO] [stderr]                |
[INFO] [stderr]            108 |     #[token("none")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("in")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:104:7
[INFO] [stderr]                |
[INFO] [stderr]            104 |     #[token("if")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:102:7
[INFO] [stderr]                |
[INFO] [stderr]            102 |     #[token("fn")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer/tokens.rs:100:7
[INFO] [stderr]                |
[INFO] [stderr]            100 |     #[token("for")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Logos)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token("false")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("else")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:94:7
[INFO] [stderr]               |
[INFO] [stderr]            94 |     #[token("continue")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("break")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:90:7
[INFO] [stderr]               |
[INFO] [stderr]            90 |     #[token(".")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[regex("//[^\n]*", logos::skip)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("<=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[token(">=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:80:7
[INFO] [stderr]               |
[INFO] [stderr]            80 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:78:7
[INFO] [stderr]               |
[INFO] [stderr]            78 |     #[token(">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:62:7
[INFO] [stderr]               |
[INFO] [stderr]            62 |     #[token(":=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token("&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:56:7
[INFO] [stderr]               |
[INFO] [stderr]            56 |     #[token("->")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token("::")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:50:7
[INFO] [stderr]               |
[INFO] [stderr]            50 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:48:7
[INFO] [stderr]               |
[INFO] [stderr]            48 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:44:7
[INFO] [stderr]               |
[INFO] [stderr]            44 |     #[token("~")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:42:7
[INFO] [stderr]               |
[INFO] [stderr]            42 |     #[token("!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("||")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:38:7
[INFO] [stderr]               |
[INFO] [stderr]            38 |     #[token("&&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("--")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("++")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:32:7
[INFO] [stderr]               |
[INFO] [stderr]            32 |     #[token("|")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:30:7
[INFO] [stderr]               |
[INFO] [stderr]            30 |     #[token("^")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:28:7
[INFO] [stderr]               |
[INFO] [stderr]            28 |     #[token("%")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:26:7
[INFO] [stderr]               |
[INFO] [stderr]            26 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:24:7
[INFO] [stderr]               |
[INFO] [stderr]            24 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:22:7
[INFO] [stderr]               |
[INFO] [stderr]            22 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[token("+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:18:7
[INFO] [stderr]               |
[INFO] [stderr]            18 |     #[token("_")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:16:7
[INFO] [stderr]               |
[INFO] [stderr]            16 |     #[regex(r#"`([^\\]|\.)`"#)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:14:7
[INFO] [stderr]               |
[INFO] [stderr]            14 |     #[regex(r#""([^"]|\.)*"|'([^']|\.)*'"#)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:12:7
[INFO] [stderr]               |
[INFO] [stderr]            12 |     #[regex("[0-9_]+", |lex| lex.slice().replace('_', "").parse())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lexer/tokens.rs:10:7
[INFO] [stderr]               |
[INFO] [stderr]            10 |     #[regex("[a-zA-Z][a-zA-Z0-9_]*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Logos)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]             --> src/lexer/tokens.rs:5:7
[INFO] [stderr]              |
[INFO] [stderr]            5 |     #[regex(r"[ \t\n\f]+", logos::skip)]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            4 + #[derive(Logos)]
[INFO] [stderr]            5 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]             --> src/lexer/tokens.rs:7:7
[INFO] [stderr]              |
[INFO] [stderr]            7 |     #[error]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            4 + #[derive(Logos)]
[INFO] [stderr]            5 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/parser/mod.rs:63:14
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<'input> Parser<'input, SpannedIter<'input, Token>> {
[INFO] [stderr]                |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `SpannedIter`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:40
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^^ required by this bound in `SpannedIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/parser/mod.rs:64:39
[INFO] [stderr]                |
[INFO] [stderr]             64 |     pub fn new(input: &'input str) -> Self {
[INFO] [stderr]                |                                       ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `SpannedIter`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:40
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^^ required by this bound in `SpannedIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/ast.rs:12:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            12 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/ast.rs:16:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            16 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/ast.rs:21:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            21 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]              --> src/parser/ast.rs:12:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            12 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Clone)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]              --> src/parser/ast.rs:16:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            16 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Clone)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]              --> src/parser/ast.rs:21:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            21 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Clone)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]              --> src/parser/ast.rs:12:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            12 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]              --> src/parser/ast.rs:16:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            16 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]              --> src/parser/ast.rs:21:9
[INFO] [stderr]               |
[INFO] [stderr]             3 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]               |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            21 |         op: Token,
[INFO] [stderr]               |         ^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/expressions.rs:101:23
[INFO] [stderr]                |
[INFO] [stderr]            101 |                 if op != T![->] || matches!(rhs, Expr::Ident(_)) {
[INFO] [stderr]                |                    -- ^^
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:211:15
[INFO] [stderr]                |
[INFO] [stderr]            211 |     [->] => { $crate::lexer::Token::RightArrow };
[INFO] [stderr]                |               -------------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/expressions.rs:133:36
[INFO] [stderr]                |
[INFO] [stderr]            133 | ...                   if *op != T![.] && *op != T![::] {
[INFO] [stderr]                |                          --- ^^
[INFO] [stderr]                |                          |
[INFO] [stderr]                |                          Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:228:14
[INFO] [stderr]                |
[INFO] [stderr]            228 |     [.] => { $crate::lexer::Token::Dot };
[INFO] [stderr]                |              ------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/expressions.rs:133:52
[INFO] [stderr]                |
[INFO] [stderr]            133 | ...                   if *op != T![.] && *op != T![::] {
[INFO] [stderr]                |                                          --- ^^
[INFO] [stderr]                |                                          |
[INFO] [stderr]                |                                          Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:210:15
[INFO] [stderr]                |
[INFO] [stderr]            210 |     [::] => { $crate::lexer::Token::DoubleColon };
[INFO] [stderr]                |               --------------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/expressions.rs:166:61
[INFO] [stderr]                |
[INFO] [stderr]            166 |             tok => panic!("Unexpected literal token: {:?}", tok),
[INFO] [stderr]                |                                                      ----   ^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                      |
[INFO] [stderr]                |                                                      required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/expressions.rs:216:64
[INFO] [stderr]                |
[INFO] [stderr]            216 |             _ => unreachable!("Not a prefix operator: `{:?}`", self),
[INFO] [stderr]                |                                                        ----    ^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                        |
[INFO] [stderr]                |                                                        required by a formatting parameter in this expression
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:36:43
[INFO] [stderr]                |
[INFO] [stderr]             36 |                         while self.peek() == T![,] {
[INFO] [stderr]                |                               ----------- ^^
[INFO] [stderr]                |                               |
[INFO] [stderr]                |                               Token
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:207:14
[INFO] [stderr]                |
[INFO] [stderr]            207 |     [,] => { $crate::lexer::Token::Comma };
[INFO] [stderr]                |              --------------------------- Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]              --> src/parser/hierarchy.rs:41:29
[INFO] [stderr]               |
[INFO] [stderr]            41 | / ...                   assert_eq!(
[INFO] [stderr]            42 | | ...                       tok_type,
[INFO] [stderr]            43 | | ...                       Token::Ident,
[INFO] [stderr]            44 | | ...                       "Expected an identifier, but found {}",
[INFO] [stderr]            45 | | ...                       tok_type
[INFO] [stderr]            46 | | ...                   );
[INFO] [stderr]               | |                       ^
[INFO] [stderr]               | |                       |
[INFO] [stderr]               | |_______________________Token
[INFO] [stderr]               |                         Token
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/hierarchy.rs:41:29
[INFO] [stderr]               |
[INFO] [stderr]            41 | / ...                   assert_eq!(
[INFO] [stderr]            42 | | ...                       tok_type,
[INFO] [stderr]            43 | | ...                       Token::Ident,
[INFO] [stderr]            44 | | ...                       "Expected an identifier, but found {}",
[INFO] [stderr]            45 | | ...                       tok_type
[INFO] [stderr]            46 | | ...                   );
[INFO] [stderr]               | |_______________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/hierarchy.rs:41:29
[INFO] [stderr]               |
[INFO] [stderr]            41 | / ...                   assert_eq!(
[INFO] [stderr]            42 | | ...                       tok_type,
[INFO] [stderr]            43 | | ...                       Token::Ident,
[INFO] [stderr]            44 | | ...                       "Expected an identifier, but found {}",
[INFO] [stderr]            45 | | ...                       tok_type
[INFO] [stderr]            46 | | ...                   );
[INFO] [stderr]               | |_______________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:137:17
[INFO] [stderr]                |
[INFO] [stderr]            137 | /                 assert_eq!(
[INFO] [stderr]            138 | |                     ident_tok,
[INFO] [stderr]            139 | |                     T![ident],
[INFO] [stderr]            140 | |                     "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            141 | |                     ident_tok
[INFO] [stderr]            142 | |                 );
[INFO] [stderr]                | |                 ^
[INFO] [stderr]                | |                 |
[INFO] [stderr]                | |_________________Token
[INFO] [stderr]                |                   Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:137:17
[INFO] [stderr]                |
[INFO] [stderr]            137 | /                 assert_eq!(
[INFO] [stderr]            138 | |                     ident_tok,
[INFO] [stderr]            139 | |                     T![ident],
[INFO] [stderr]            140 | |                     "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            141 | |                     ident_tok
[INFO] [stderr]            142 | |                 );
[INFO] [stderr]                | |_________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:137:17
[INFO] [stderr]                |
[INFO] [stderr]            137 | /                 assert_eq!(
[INFO] [stderr]            138 | |                     ident_tok,
[INFO] [stderr]            139 | |                     T![ident],
[INFO] [stderr]            140 | |                     "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            141 | |                     ident_tok
[INFO] [stderr]            142 | |                 );
[INFO] [stderr]                | |_________________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:168:9
[INFO] [stderr]                |
[INFO] [stderr]            168 | /         assert_eq!(
[INFO] [stderr]            169 | |             ident,
[INFO] [stderr]            170 | |             T![ident],
[INFO] [stderr]            171 | |             "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            172 | |             ident
[INFO] [stderr]            173 | |         );
[INFO] [stderr]                | |         ^
[INFO] [stderr]                | |         |
[INFO] [stderr]                | |_________Token
[INFO] [stderr]                |           Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:168:9
[INFO] [stderr]                |
[INFO] [stderr]            168 | /         assert_eq!(
[INFO] [stderr]            169 | |             ident,
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/parser/expressions.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   ref mut args,
[INFO] [stdout]     |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/parser/expressions.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |                           if let Expr::FnCall {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 142 | |                             fn_name: _,
[INFO] [stdout] 143 | |                             ref mut args,
[INFO] [stdout] 144 | |                         } = expr
[INFO] [stdout]     | |_________________________^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -                             ref mut args,
[INFO] [stdout] 143 +                             args,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, usize, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lexer/tokens.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Logos, Copy, Clone)]
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lexer/tokens.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Logos, Copy, Clone)]
[INFO] [stdout]   |                            ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, PartialEq, Logos + use<'s>, Copy, Clone)]
[INFO] [stdout]   |                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            170 | |             T![ident],
[INFO] [stderr]            171 | |             "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            172 | |             ident
[INFO] [stderr]            173 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:168:9
[INFO] [stderr]                |
[INFO] [stderr]            168 | /         assert_eq!(
[INFO] [stderr]            169 | |             ident,
[INFO] [stderr]            170 | |             T![ident],
[INFO] [stderr]            171 | |             "Expected identifier at start of type, but found `{}`",
[INFO] [stderr]            172 | |             ident
[INFO] [stderr]            173 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:201:9
[INFO] [stderr]                |
[INFO] [stderr]            201 | /         assert_eq!(
[INFO] [stderr]            202 | |             ident,
[INFO] [stderr]            203 | |             T![ident],
[INFO] [stderr]            204 | |             "Expected identifier as function name, but found `{}`",
[INFO] [stderr]            205 | |             ident
[INFO] [stderr]            206 | |         );
[INFO] [stderr]                | |         ^
[INFO] [stderr]                | |         |
[INFO] [stderr]                | |_________Token
[INFO] [stderr]                |           Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:201:9
[INFO] [stderr]                |
[INFO] [stderr]            201 | /         assert_eq!(
[INFO] [stderr]            202 | |             ident,
[INFO] [stderr]            203 | |             T![ident],
[INFO] [stderr]            204 | |             "Expected identifier as function name, but found `{}`",
[INFO] [stderr]            205 | |             ident
[INFO] [stderr]            206 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:201:9
[INFO] [stderr]                |
[INFO] [stderr]            201 | /         assert_eq!(
[INFO] [stderr]            202 | |             ident,
[INFO] [stderr]            203 | |             T![ident],
[INFO] [stderr]            204 | |             "Expected identifier as function name, but found `{}`",
[INFO] [stderr]            205 | |             ident
[INFO] [stderr]            206 | |         );
[INFO] [stderr]                | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser/hierarchy.rs:239:13
[INFO] [stderr]                |
[INFO] [stderr]            239 | /             assert_eq!(
[INFO] [stderr]            240 | |                 param,
[INFO] [stderr]            241 | |                 T![ident],
[INFO] [stderr]            242 | |                 "Expected identifier as parameter, but found `{}`",
[INFO] [stderr]            243 | |                 param
[INFO] [stderr]            244 | |             );
[INFO] [stderr]                | |             ^
[INFO] [stderr]                | |             |
[INFO] [stderr]                | |_____________Token
[INFO] [stderr]                |               Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(PartialEq)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:239:13
[INFO] [stderr]                |
[INFO] [stderr]            239 | /             assert_eq!(
[INFO] [stderr]            240 | |                 param,
[INFO] [stderr]            241 | |                 T![ident],
[INFO] [stderr]            242 | |                 "Expected identifier as parameter, but found `{}`",
[INFO] [stderr]            243 | |                 param
[INFO] [stderr]            244 | |             );
[INFO] [stderr]                | |_____________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser/hierarchy.rs:239:13
[INFO] [stderr]                |
[INFO] [stderr]            239 | /             assert_eq!(
[INFO] [stderr]            240 | |                 param,
[INFO] [stderr]            241 | |                 T![ident],
[INFO] [stderr]            242 | |                 "Expected identifier as parameter, but found `{}`",
[INFO] [stderr]            243 | |                 param
[INFO] [stderr]            244 | |             );
[INFO] [stderr]                | |_____________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 + #[derive(Debug)]
[INFO] [stderr]              5 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]              --> src/parser/mod.rs:33:21
[INFO] [stderr]               |
[INFO] [stderr]            33 |         self.peek() == kind
[INFO] [stderr]               |         ----------- ^^ ---- Token
[INFO] [stderr]               |         |
[INFO] [stderr]               |         Token
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]              --> src/parser/mod.rs:49:9
[INFO] [stderr]               |
[INFO] [stderr]            49 | /         assert_eq!(
[INFO] [stderr]            50 | |             token, expected,
[INFO] [stderr]            51 | |             "Expected to consume `{}`, but found `{}`",
[INFO] [stderr]            52 | |             expected, token
[INFO] [stderr]            53 | |         );
[INFO] [stderr]               | |         ^
[INFO] [stderr]               | |         |
[INFO] [stderr]               | |_________Token
[INFO] [stderr]               |           Token
[INFO] [stderr]               |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(PartialEq)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/mod.rs:49:9
[INFO] [stderr]               |
[INFO] [stderr]            49 | /         assert_eq!(
[INFO] [stderr]            50 | |             token, expected,
[INFO] [stderr]            51 | |             "Expected to consume `{}`, but found `{}`",
[INFO] [stderr]            52 | |             expected, token
[INFO] [stderr]            53 | |         );
[INFO] [stderr]               | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/mod.rs:49:9
[INFO] [stderr]               |
[INFO] [stderr]            49 | /         assert_eq!(
[INFO] [stderr]            50 | |             token, expected,
[INFO] [stderr]            51 | |             "Expected to consume `{}`, but found `{}`",
[INFO] [stderr]            52 | |             expected, token
[INFO] [stderr]            53 | |         );
[INFO] [stderr]               | |_________^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/parser/mod.rs:57:58
[INFO] [stderr]               |
[INFO] [stderr]            57 |             panic!("Cannot push; reserve is full: {:?}", self.reserve);
[INFO] [stderr]               |                                                   ----   ^^^^^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]               |                                                   |
[INFO] [stderr]               |                                                   required by this formatting parameter
[INFO] [stderr]               |
[INFO] [stderr]               = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]            help: the trait `Debug` is implemented for `Option<T>`
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:591:15
[INFO] [stderr]               = note: required for `(Token, &str)` to implement `Debug`
[INFO] [stderr]               = note: 1 redundant requirement hidden
[INFO] [stderr]               = note: required for `Option<(Token, &str)>` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 + #[derive(Debug)]
[INFO] [stderr]             5 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied in `SpannedIter<'input, Token>`
[INFO] [stderr]               --> src/parser/mod.rs:65:9
[INFO] [stderr]                |
[INFO] [stderr]             65 |         Self {
[INFO] [stderr]                |         ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `SpannedIter<'input, Token>`, the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `SpannedIter<'input, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:12
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]            note: required by an implicit `Sized` bound in `Parser`
[INFO] [stderr]               --> src/parser/mod.rs:9:27
[INFO] [stderr]                |
[INFO] [stderr]              9 | pub struct Parser<'input, I>
[INFO] [stderr]                |                           ^ required by the implicit `Sized` requirement on this type parameter in `Parser`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]              --> src/parser/mod.rs:67:28
[INFO] [stderr]               |
[INFO] [stderr]            67 |             tokens: Token::lexer(input).spanned().peekable(),
[INFO] [stderr]               |                            ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `SpannedIter<'_, Token>`
[INFO] [stderr]               --> src/lib.rs:8:22
[INFO] [stderr]                |
[INFO] [stderr]              8 |     let mut parser = parser::Parser::new(program);
[INFO] [stderr]                |                      ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `SpannedIter<'_, Token>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `SpannedIter<'_, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:12
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]            note: required by an implicit `Sized` bound in `Parser`
[INFO] [stderr]               --> src/parser/mod.rs:9:27
[INFO] [stderr]                |
[INFO] [stderr]              9 | pub struct Parser<'input, I>
[INFO] [stderr]                |                           ^ required by the implicit `Sized` requirement on this type parameter in `Parser`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:8:22
[INFO] [stderr]                |
[INFO] [stderr]              8 |     let mut parser = parser::Parser::new(program);
[INFO] [stderr]                |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `SpannedIter`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:40
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^^ required by this bound in `SpannedIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `file` exists for struct `Parser<'_, SpannedIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lib.rs:9:24
[INFO] [stderr]                |
[INFO] [stderr]              9 |     let items = parser.file();
[INFO] [stderr]                |                        ^^^^ method cannot be called on `Parser<'_, SpannedIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer/tokens.rs:4:1
[INFO] [stderr]                |
[INFO] [stderr]              4 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lexer.rs:191:1
[INFO] [stderr]                |
[INFO] [stderr]            191 | pub struct SpannedIter<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------------ doesn't satisfy `<_ as Iterator>::Item = (Token, Range<usize>)`, `SpannedIter<'_, Token>: Iterator` or `SpannedIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/parser/mod.rs:9:1
[INFO] [stderr]                |
[INFO] [stderr]              9 | pub struct Parser<'input, I>
[INFO] [stderr]                | ---------------------------- method `file` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `<SpannedIter<'_, Token> as Iterator>::Item = (Token, std::ops::Range<usize>)`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `SpannedIter<'_, Token>: Iterator`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `SpannedIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.0/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0507]: cannot move out of `*token` which is behind a shared reference
[INFO] [stderr]              --> src/parser/mod.rs:28:35
[INFO] [stderr]               |
[INFO] [stderr]            28 |                 .map(|(token, _)| *token)
[INFO] [stderr]               |                                   ^^^^^^ move occurs because `*token` has type `Token`, which does not implement the `Copy` trait
[INFO] [stderr]               |
[INFO] [stderr]            note: if `Token` implemented `Clone`, you could clone the value
[INFO] [stderr]              --> src/lexer/tokens.rs:4:1
[INFO] [stderr]               |
[INFO] [stderr]             4 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/parser/mod.rs:28:35
[INFO] [stderr]               |
[INFO] [stderr]            28 |                 .map(|(token, _)| *token)
[INFO] [stderr]               |                                   ------ you could clone this value
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0507]: cannot move out of `self.reserve.0` as enum variant `Some` which is behind a mutable reference
[INFO] [stderr]              --> src/parser/mod.rs:23:15
[INFO] [stderr]               |
[INFO] [stderr]            23 |         match self.reserve {
[INFO] [stderr]               |               ^^^^^^^^^^^^
[INFO] [stderr]            24 |             Some((tok, _)) => tok,
[INFO] [stderr]               |                   --- data moved here because `tok` has type `Token`, which does not implement the `Copy` trait
[INFO] [stderr]               |
[INFO] [stderr]            help: consider borrowing the pattern binding
[INFO] [stderr]               |
[INFO] [stderr]            24 |             Some((ref tok, _)) => tok,
[INFO] [stderr]               |                   +++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0507]: cannot move out of `self.reserve` as enum variant `Some` which is behind a mutable reference
[INFO] [stderr]              --> src/parser/mod.rs:36:15
[INFO] [stderr]               |
[INFO] [stderr]            36 |         match self.reserve {
[INFO] [stderr]               |               ^^^^^^^^^^^^
[INFO] [stderr]            37 |             Some(data) => {
[INFO] [stderr]               |                  ---- data moved here because `data` has type `(Token, &str)`, which does not implement the `Copy` trait
[INFO] [stderr]               |
[INFO] [stderr]            help: consider borrowing the pattern binding
[INFO] [stderr]               |
[INFO] [stderr]            37 |             Some(ref data) => {
[INFO] [stderr]               |                  +++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 101 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0507, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]    Migrating tests/parser.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/checker.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.56s
[INFO] [stderr] crater-edition-check: burn v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking burn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/checker/mod.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn check_block(&mut self, block: &Vec<ast::Stmt>) {}
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/parser/expressions.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   ref mut args,
[INFO] [stdout]     |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/parser/expressions.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |                           if let Expr::FnCall {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 142 | |                             fn_name: _,
[INFO] [stdout] 143 | |                             ref mut args,
[INFO] [stdout] 144 | |                         } = expr
[INFO] [stdout]     | |_________________________^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -                             ref mut args,
[INFO] [stdout] 143 +                             args,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `burn` (lib test) due to 1 previous error; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/checker/mod.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn check_block(&mut self, block: &Vec<ast::Stmt>) {}
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/parser/expressions.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   ref mut args,
[INFO] [stdout]     |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/parser/expressions.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |                           if let Expr::FnCall {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 142 | |                             fn_name: _,
[INFO] [stdout] 143 | |                             ref mut args,
[INFO] [stdout] 144 | |                         } = expr
[INFO] [stdout]     | |_________________________^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -                             ref mut args,
[INFO] [stdout] 143 +                             args,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `burn` (lib) due to 1 previous error; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7", kill_on_drop: false }`
[INFO] [stdout] 359b7b3a8645ce93d1f6840216d37571398a53df3a35df9899b3d4afff8b6ae7
